Cryptographic Shuffling of Random and Pseudorandom Sequences

نویسنده

  • Markus Dichtl
چکیده

This papers studies methods to improve the cryptographic quality of random or pseudorandom sequences by modifying the order of the original sequence. A new algorithm Cryshu is suggested, which produces its shuffled output data at the rate of the input data. 1 Cryptographic Aspects of Shuffling Random and Pseudorandom Sequences A deck of cards is shuffled to arrange the cards in a random sequence. When we have random or pseudorandom numbers, we may try to rearrange their sequence to make them even “more random”. For streamciphers, the cryptanalyst tries to keep track of the state of the internal machinery which produces the pseudorandom output sequence. The only information he obtains about what is going on internally is from the output data. When the sequence of output data is shuffled, his task becomes more difficult, since subsequent output elements do not correspond to subsequent states of the internal machinery. Hence, it is considerably more difficult to draw conclusions from the output data to the internal state. This effect of making the cryptanalysis harder is only achieved, if it is impossible to determine the original sequence from the shuffled one. So one requirement for cryptographically useful shuffling algorithms is that it must be infeasible to reconstruct the original sequence when given only the shuffled one. We suggest to use shuffling as a technique to improve the cryptographic strength of stream ciphers. A sequence of pseudorandom numbers is generated by some algorithm, then shufffling is applied to improve the cryptographic quality of the sequence. The algorithm used to generate the original sequence may be such, that succesful cryptanalytic attacks are possible. In this case, shuffling may be sufficient to thwart any attacks. Shuffling may also be useful for streamciphers for which no feasible attacks are known, to have an additional layer of security. Physical random number generators tend to have correlations between bits generated subsequently. Here shuffling turns out to be helpful, since in order to exploit the correlation, an attacker must know which bits are correlated. For the shuffled sequence, the attacker does not have this information, since the correlated bits go to distant positions which he does not know. However, shuffling does not help against the most common problem of physical random Dagstuhl Seminar Proceedings 07021 Symmetric Cryptography http://drops.dagstuhl.de/opus/volltexte/2007/1014 number generators, bias, which means that the probability of a generated bit to be zero is not equal to 0.5 . Since the numbers of zeros and ones in the sequence remains the same when it is shuffled, the bias remains the same. 2 Known Methods to Shuffle Pseudorandom Sequences Knuth [Knu81] describes two methods to shuffle sequences of pseudorandom numbers, which are called Algorithm M and Algorithm B. Algorithm M is due to MacLaren and Marsaglia, Algorithm B to Bays and Durham. Algorithm M requires, in addition to the sequence Z1 of pseudo random numbers to be shuffled, another sequence Z2 of pseudo random numbers, which controls the shuffling of Z1. Algorithm M uses an array which is initially filled with the first numbers generated by Z1. When an element of the shuffled sequence resulting from Algorithm M is required, the next element of Z2 is generated and used to determine an index into the array. The entry stored at this position of the array is returned as the result, the entry of the array is replaced with the next element of Z1. Algorithm M is suited well for cryptographic purposes, its disadvantage is that half of its random input is used up just for the shuffling. Algorithm B does not require an additional sequence Z2 to control the shuffling, the sequence Z1 to be shuffled also controls its shuffling. This can be called self shuffling. Algorithm B also uses an array which is initially filled with the first elements of Z1. The auxiliary variable Y is initialised with the next element of Z1. When an element of the shuffled sequence is required, Y is used to determine an index into the array. The entry stored at this position of the array is returned as the result, and it is also used as the new value of Y. Then the entry of the array is replaced with the next value of Z1. Algorithm B is cryptographically weak. Each number generated betrays from which entry of the array the next result will be taken. After a short period of observation, the attacker will know when this entry was changed last; with very little effort the cryptanalysis of Algorithm B is reduced to the cryptanalysis of Z1. 3 The New Algorithm Cryshu We want to overcome the cryptographic weakness of Algorithm B while keeping its attractive property, that it produces output at the same rate as it reads its input sequence Z1. The new shuffling algorithm is called Cryshu (Crypto Shuffling). The aim of its design was to leak as little information about its internal state as possible. Like Algorithm B, Cryshu also uses an array to shuffle the sequence Z1 of pseudo random numbers. Initially this array is filled with the first elements of Z1. The auxiliary variable Y is initialised with the next value of Z1. To determine an output element of Cryshu, Y is used to determine an index into the array.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design of Image Cryptosystem by Simultaneous VQ-Compression and Shuffling of Codebook and Index Matrix

The popularity of Internet usage although increases exponentially, it is incapable of providing the security for exchange of confidential data between the users. As a result, several cryptosystems for encryption of data and images have been developed for secured transmission over Internet. In this work, a scheme for Image encryption/decryption based on Vector Quantization (VQ) has been proposed...

متن کامل

On Stochastic Security of Pseudorandom Sequences

Cryptographic primitives such as secure hash functions (e.g., SHA1, SHA2, and SHA3) and symmetric key block ciphers (e.g., AES and TDES) have been commonly used to design pseudorandom generators with counter modes (e.g., in NIST SP800-90A standards). It is assumed that if these primitives are secure then the sequences generated by pseudorandom generators based on these primitives are indistingu...

متن کامل

New Class of Pseudorandom D-sequences to Generate Cryptographic Keys

This article proposes the use of pseudorandom decimal sequences that have gone through an additional random mapping for the design of cryptographic keys. These sequences are generated by starting with inverse prime expansions in base 3 and then replacing 2 in the expansion with either the string 01 or 10 based on the preceding bit, which represents a general mapping. We show that the resulting ...

متن کامل

A Wireless System Using Random Residue Sequences

This paper describes the architecture of wireless communication system using random residue sequences. The basic scheme is that of spread spectrum but instead of using PN sequences for coding, we use random residue sequences. Such a system can provide cryptographic security whose strength would depend on the number of code sequences being used.

متن کامل

Increasing Randomness Using Permutations on Blocks

Introduction Pseudorandom sequences that are algorithmically produced have limited cryptographic applications because the eavesdropper can readily generate them. The complexity of the generation process and the lack of correlation amongst the bits (or digits) of the sequence are important in determining the usefulness of a pseudorandom sequence. A quantum mechanical process can be used to gener...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007